本文汇集了关于蓝牙5.0几个常见问题的答案,以帮助开发人员更好地了解蓝牙5.0的一些新特性。
是这样的,对于蓝牙4.1,4.2和5.0中添加的所有功能,它们在BLE连接期间都是可以协商选择的。这一点确保了蓝牙5.0设备能够可靠地连接到旧版蓝牙4.x设备,并与其进行交互。除了向后兼容性之外,蓝牙4.1和4.2中的可选功能适用于蓝牙5.0.因此,除了2 Mbps功能之外,蓝牙5.0设备还可支持蓝牙4.2的数据长度扩展功能。TI BLE5-Stack结合了蓝牙4.1和4.2协议栈现有的所有功能,包括增强的隐私性和安全连接配对。
您只需在应用程序中调用一个新的API来请求BLE连接使用2 Mbps PHY就可以了,这个API是:HCI_LE_SetDefaultPhyCmd()
。调用该API会操作控制器(链路层)启动所谓的PHY更新过程,如下图所示,该图显示了对等设备进行协商然后变更链路速度的步骤。如果连接中的两个设备都支持并且都想在2 Mbps PHY下传输数据,那么它们之间的连接会切换到2Mbps的链路速度,与默认的1 Mbps链路速度相比,速度会快一倍。如果对等设备不支持2 Mbps功能,或者不希望启用,则连接将保持BLE默认的1 Mbps链路速度。用于数据交换的所有API(例如GATT)在蓝牙5.0中是保持不变的。
TI在BLE5-Stack SW用户指南中提供了一个LE 2M PHY 指南,其中包含有关如何调用此新API的所有详细信息。你可以在这里查看。
TI在BLE吞吐量测试中增加了对蓝牙5.0高速和长距离模式的支持。该示例在两个CC2640R2 LaunchPads上运行,用户可以通过LaunchPad上的两个按键在支持的PHY之间切换,同时在串口调试工具上记录有效载荷吞吐量和RSSI。
您可能有听说2Mbps的连接比1 Mbps的连接具有“较短的连接范围”。确实与在默认1 Mbps模式下运行的PHY相比,任何以2Mbps模式工作的PHY(无线电)的灵敏度都将降低5dB。虽然这可能听起来像是性能上的巨大损失,但是由于CC2640R2F的无线电架构本身进行了改进,使其具有了一流的射频性能,完全能够保证蓝牙高性能模式在个人连接/室内操作环境中的正常运行使用。这就意味在与默认LE 1 Mbps下的蓝牙4.0设备距离相当的情况下,高速模式下的蓝牙5.0设备可以有更快的传输速度。
蓝牙5.0中还有另一个经常被忽视的功能:信道选择算法2(CSA2),它改进了BLE的跳频算法。这个功能可以确保每个连接事件与先前的连接事件相比发生在最小频率偏移,从而减少在共享的2.4 GHz频谱中受其他设备的“突发”干扰。减少因为干扰导致的丢包重发,能够降低整体功耗以及提高有效吞吐量。还有一点需要注意, “Slot Availability Mask”功能仅适用于经典蓝牙设备,CC2640R2F不支持。
4.怎样评估蓝牙5.0的长距离模式?
除了支持的2 Mbps高速模式之外,BLE5-Stack还支持用于在相同发射功率下实现更长连接距离的LE编码PHY。更长的连接范围是通过使用前向纠错(FEC)来提高接收机灵敏度来实现的。关于编码PHY背后的科学知识,以及如何在不增加传输功率的情况下改进链路预算,你可以查看文档CC2640R2F/BLE5.0 距离测试。
要启用SDK中LE编码PHY的功能,需要启用协议栈的build_config.opt
文件中的功能。连接首先以默认的1Mbps链路速度建立(与蓝牙4.x相同),然后可以通过PHY更新过程切换到LE编码PHY。在GitHub上的吞吐量示例中也展示了LE编码PHY的使用。评估LE编码PHY能够帮助您测量设备在远距离配置下的实际性能。
需要注意的是在使用蓝牙5.0 SDK中的LE编码PHY配置时,无法使用蓝牙SIG认证设备。TI计划在稍后提供BLE5-Stack的更新,以支持蓝牙5.0 LE编码PHY认证所需的其他功能,如广告扩展等。
蓝牙组网是蓝牙SIG宣布即将推出的功能,但还不是蓝牙5.0规范的一部分,尚未被SIG采纳。大家可以随时关注Mesh的动向。
文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。